<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>博客详情页</title>
    <link rel="stylesheet" href="./css/common.css">
    <link rel="stylesheet" href="./css/blog_detail.css">

    <!-- 引入 editor.md 的依赖 -->
    <link rel="stylesheet" href="./editor.md-master/css/editormd.min.css" />
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <script src="./editor.md-master/lib/marked.min.js"></script>
    <script src="./editor.md-master/lib/prettify.min.js"></script>
    <script src="./editor.md-master/editormd.js"></script>
</head>

<body>
    <!-- 导航栏 -->
    <div class="nav">
        <img src="./image/刘雨昕.jpg" alt="">
        <span class="title">我的博客系统</span>
        <!-- 使用两个span把左右元素撑开 -->
        <span class="spacer"></span>
        <a href="blog_list.html">主页</a>
        <a href="blog_edit.html">写博客</a>
        <a href="logout">注销</a>
        

    </div>

    <!-- 引入版心 -->
    <div class="container">
        <!-- 左侧版心，用来显示用户的信息 -->
        <div class="container-left">
            <!-- 用户详情 -->
            <div class="card">
                <!-- 用户头像 -->
                <img src="./image/1.png" alt="">
                <!-- 用户名字 -->
                <h3></h3>
                <!-- gitee 地址 -->
                <a href="https://gitee.com/yuanye12123/projects">gitee地址</a>
                <!-- <br> -->
                <a href="https://github.com/power152">github地址</a>
                <!-- 显示文章分类的数目  -->
                <div class="counter">
                    <span>文章</span>
                    <span>分类</span>

                </div>
                <div class="counter">
                    <span>2</span>
                    <span>1</span>
                </div>

            </div>
        </div>

        <!-- 右侧博客详情 -->
        <div class="container-right">
            <!-- 使用div放博客内容 -->
            <div class="blog-content">
                <!-- 博客标题 -->
                <h3></h3>
                <!-- 日期 -->
                <div class="date">

                </div>
                <!-- 正文 -->
                <!-- transparent 是以父元素为背景，所以是透明的 -->
                <div id="content" style="background-color: transparent;">

                </div>
            </div>

        </div>
    </div>
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
    <script>
        // 给服务器发送ajax请求，返回json格式 给浏览器，来获取博客的详细信息，通过回调函数来给页面渲染
        $.ajax({
            // 此处 location.search 拿到的就是当前页面的 query string. 在跳转到这个页面的时候就获取到了. 
            // 此时 location.search 的值形如 ?blogId=6
            // 把这个整个query string 拼到 blog 后面, 作为 ajax 的请求路径和参数
            url: "blog" + location.search,
            method: "get",
            success: function (data, status) {
                // 此处的 data 已经是一个 js 对象了. 
                // 由于响应是 application/json 类型, jquery 会自动的把这个 body 给转成 js 对象
                buildBlog(data);
            },
            error: function () {
                // 这里是ajax这行失败过后的回调
                // 如果这里返回403，出发error这个函数，任务登录失败，直接js重定向博客页面
                location.assign("blog_login.html");
            }
        });


        // 在给服务器发送个ajax，来获取用户的登录信息
        $.ajax({
            // 此时的 url 形如 user?blogId = 1
            url: "user" + location.search,
            method: "get",
            success: function (data, status) {
                changeUser(data)
            }
        });

        function changeUser(user) {
            let h3 = document.querySelector(".container-left .card h3");
            h3.innerHTML = user.username;

            // 在这里惊醒扩充，根据user 中的 isYouBlog 来确定是否 加上 删除按钮
            if (user.isYouBlog) {
                // 需要显示 删除按钮
                let deleteButton = document.createElement("a");
                deleteButton.innerHTML = "删除";
                // 删除的请求中带上 query String 其中 location.search 就是 ?blogId = 1
                deleteButton.href = "blogDelete" + location.search;

                let navDiv = document.querySelector(".nav");
                navDiv.appendChild(deleteButton);
            }
        }

        function buildBlog(data) {
            // 1、 把title 放到h3标签中
            let titleH3 = document.querySelector(".blog-content h3");
            titleH3.innerHTML = data.title;

            // 2、设置发布时间
            let dateDiv = document.querySelector(".blog-content .date");
            dateDiv.innerHTML = formatDate(data.postTime);
            // 3、设置正文 放到 #content元素中
            //    但是此处不能直接放，要通过Markdown渲染
            editormd.markdownToHTML('content', { markdown: data.content });
        }

        function formatDate(time) {
            // 通过这个函数, 把时间戳转成格式化的日期, 形如 2022-03-09 12:00:00 
            var date = new Date(time);
            var year = date.getFullYear(),
                month = date.getMonth() + 1,//月份是从0开始的
                day = date.getDate(),
                hour = date.getHours(),
                min = date.getMinutes(),
                sec = date.getSeconds();
            var newTime = year + '-' +
                (month < 10 ? '0' + month : month) + '-' +
                (day < 10 ? '0' + day : day) + ' ' +
                (hour < 10 ? '0' + hour : hour) + ':' +
                (min < 10 ? '0' + min : min) + ':' +
                (sec < 10 ? '0' + sec : sec);
            return newTime;
        }

    </script>
</body>

</html>